|
|
|
|
- Cas d'erreurs
- Manipulations d'enregistrements pendant une transaction
- Transactions et contexte HFSQL indépendant
- OLE DB et Connecteurs Natifs
<Variable Connexion>.TransactionFin (Fonction) En anglais : <Connection variable>.TransactionEnd
Non disponible avec ce type de connexion
Valide la transaction en cours : - les modifications effectuées sur le fichier de données depuis le début de la transaction (fonction <Variable Connexion>.TransactionDébut ou fonction <Variable Connexion>.Transaction) sont validées.
- le fichier de transaction est supprimé (si la transaction est la dernière transaction en cours dans le cas d'une application réseau).
- les enregistrements bloqués en lecture par la transaction sont débloqués.
MaConnexion1 est une Connexion  // Début de la transaction sur les fichiers de données associés à la connexion MaConnexion1 MaConnexion1.TransactionDébut()  // Code permettant de préparer la commande à ajouter // ...  QUAND EXCEPTION DANS // Ajout de la commande Commande.Ajoute() // Validation de l'ajout MaConnexion1.TransactionFin() FAIRE // Suppression des lignes de commandes MaConnexion1.TransactionAnnule() FIN Syntaxe
Valider une transaction en cours sur une connexion Masquer les détails
<Résultat> = <Connexion>.TransactionFin()
<Résultat> : Booléen - Vrai si la transaction est terminée,
- Faux en cas de problème. La fonction HErreurInfo permet d'obtenir plus de renseignements sur l'erreur.
Attention : Si une transaction globale est commencée, la fonction ne fait rien. Il faut utiliser la syntaxe 2.
<Connexion> : Variable de type Connexion Nom de la variable de type Connexion décrivant la connexion à manipuler. <Résultat> : Booléen - Vrai si la transaction est terminée,
- Faux en cas de problème. La fonction HErreurInfo permet d'obtenir plus de renseignements sur l'erreur.
Remarques Cas d'erreurs - Imbrication de transactions : Il est impossible d'imbriquer les transactions (c'est-à -dire d'appeler la fonction <Variable Connexion>.TransactionDébut ou la fonction <Variable Connexion>.Transaction dans une transaction). Dans ce cas, l'erreur 70031 est générée.
- Une erreur fatale est affichée dans les cas suivants :
- Une transaction est débutée sur toutes les connexions alors qu'il existe au moins une connexion en transaction.
- Une transaction sur une connexion est débutée après avoir commencé une transaction sur toutes les connexions.
- Une transaction sur toutes les connexions est débutée alors qu'il existe au moins une connexion dont le mode d'isolation n'est pas "Read Uncommitted".
Transactions et contexte HFSQL indépendant Lors de la copie de contexte, si une transaction est en cours sur le premier contexte, le nouveau contexte n'est pas en transaction. Il faut rappeler la fonction <Variable Connexion>.TransactionDébut (ou la fonction <Variable Connexion>.Transaction) pour démarrer une transaction dans le nouveau contexte.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|